﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Collections.ObjectModel;
using System.IO;

namespace sync
{
    public interface IConnectionProvider : INotifyPropertyChanged
    {
        bool IsReady { get; set; }
        RepositoryInfo RepositoryInfo { get; set; }
        ObservableCollection<KnowenAnnounceFileInfo> KnowenFiles { get; }
        ObservableCollection<SyncNode> KnowenNodes { get; }

        void Create();
        void Init();
        void BringOnline();
        void AnounceFileList(List<AnnounceFileInfo> filesToAnnounce);

        Stream GetStreamForFile(KnowenAnnounceFileInfo knowenAnnouceFileInfo);

    }
}
